/*
 * Cliente.java
 *
 * Created on 30 de marzo de 2006, 08:25 AM
 *
 * To change this template, choose Tools | Template Manager
 * and open the template in the editor.
 */

package ig.util;



import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;

/**
 *
 * @author jsanchez
 */
public class Cliente {
    
    /** Creates a new instance of Cliente */
    public Cliente() {
    }
/**
     * Metodo que te da el hash MD5 en un String en caracteres
     hexadecimales
     * @param data Cadena de la cual queremos calcular el hash MD5
     * @param key Clave que emplearemos en el calculo del hash.
     * @return Un String con el valor resultante del hash en caracteres
     hexadecimales
    */
    public static String digest(String data, String key) {
        try{
            MessageDigest md5 = MessageDigest.getInstance("MD5");
            md5.update(data.getBytes()); 
            byte[] result =  md5.digest(key.getBytes());
            
            StringBuffer sb = new StringBuffer();            
            for(int i=0; i<result.length; i++){
                String s = Integer.toHexString(result[i]);
                int length = s.length();
                if(length >= 2)
                    sb.append(s.substring(length-2, length));
                else {
                    sb.append("0");
                    sb.append(s);
                }
            }
            return sb.toString();
        }
        catch(NoSuchAlgorithmException e){
            return null;
        }
    }
    
}
